/*
  字符串增加的方法
*/
// 1. 标签模板
let f1 = () => {
  alert`hello world`
  // 标签模板是特殊的函数函数调用方法
}

// 2. raw() 返回原始的字符串,所有的\都会被转义
let f2 = () => {
  let str = String.raw`hello \n world`
  console.log(str) // hello \n world
}

// 3. includes() 包含字符
let f3 = () => {
  let str = 'hello world'
  console.log(str.includes('hello')) // true
}

// 4. matchAll() 匹配字符串中的字符
let f4 = () => {
  let str = '张三20230105.zip'
  // 提取数字
  let rt = str.matchAll(/\d/g) // 返回的是迭代器
  let time = ''
  for (let item of rt) {
    if (item && item[0]) {
      time += item[0]
    }
  }
  console.log(time) // 20230105
  // 提取汉字
  let username = ''
  rt = str.matchAll(/[\u4e00-\u9fa5]/g) // 返回的是迭代器
  for (let item of rt) {
    if (item && item[0]) {
      username += item[0]
    }
  }
  console.log(username) // 张三
  // 提取字母
  let code = ''
  rt = str.matchAll(/[a-zA-Z]/g) // 返回的是迭代器
  for (let item of rt) {
    if (item && item[0]) {
      code += item[0]
    }
  }
  console.log(code) // zip
}
f4()
